package cc.bukkitPlugin.banitem.check;

import org.bukkit.inventory.ItemStack;

import cc.bukkitPlugin.banitem.BanItemEnume.CheckedType;

public class CheckResult{

    /**是否匹配到*/
    public boolean mFind=false;
    /**匹配到的物品被加入的原因*/
    public String mReason="";
    /**在哪里匹配到,本身或NBT中*/
    public CheckedType mCheckedType=null;
    /**在NBT的第几层匹配到,从0开始*/
    public int mDeep=0;
    /**存放从NBT中移除物品的后的新物品*/
    public ItemStack mHandledItem=null;

    public static CheckResult notFind(){
        CheckResult tResult=new CheckResult();
        tResult.mFind=false;
        return tResult;
    }

    /**
     * 物品本身被禁用
     * @param pReason 原因
     */
    public static CheckResult find(String pReason){
        CheckResult tResult=new CheckResult();
        tResult.mFind=true;
        tResult.mCheckedType=CheckedType.SELF;
        tResult.mReason=(pReason==null?"":pReason);
        return tResult;
    }

    /**
     * 物品NBT中存在被禁用的物品
     * @param pDeep 第几层NBT搜索到的
     * @param pReason 原因
     */
    public static CheckResult find(int pDeep,String pReason){
        CheckResult tResult=new CheckResult();
        tResult.mFind=true;
        tResult.mDeep=pDeep;
        tResult.mCheckedType=CheckedType.NBT;
        tResult.mReason=(pReason==null?"":pReason);
        return tResult;
    }

}
